local lsp_server_list = {
  { name = "clangd",        alone = false },
  { name = "rust_analyzer", alone = false },
  { name = "lua_ls",        alone = false },
  { name = "emmet_ls",      alone = false },
  { name = "tsserver",      alone = true },

  -- :MasonInstall black
  -- :MasonInstall pylsp  pyright
  -- :MasonInstall isort
  -- { name = "pyright",       alone = false }, -- 不知道为啥不能工作
  { name = "pylsp",         alone = false },

  -- toml
  { name = "taplo",         alone = false },
  { name = "jsonls",        alone = false },
  { name = "html",          alone = false },
  { name = "cssls",         alone = false },
  { name = "unocss",        alone = false },
  { name = "volar",         alone = false }, -- Can be customized to override the default tsserver
  { name = "dockerls",      alone = false },
  { name = "cmake",         alone = false },
  { name = "dockerls",      alone = false },
  { name = "gopls",         alone = false },

  -- { name = "asm_lsp",       alone = false },
  -- { name = "bashls",        alone = false },
  -- { name = "marksman",      alone = false },
  -- { name = "vimls",         alone = false },
  -- { name = "vtsls",         alone = false },
  -- { name = "zls",           alone = false },
  -- -- { name = "psalm", alone = false },
  -- -- { name = "powershell_es", alone = false },
  -- -- { name = "jedi_language_server", alone = false },
  -- -- { name = "sqlls", alone = false }, -- need extra yaml configuration
  -- -- { name = "tailwindcss", alone = false },
  -- -- { name = "hls", alone = false },
  -- -- { name = "vls", alone = false },
  -- -- { name = "kotlin_language_server", alone = false },
  -- -- { name = "nimls", alone = false },
  -- -- { name = "ocamllsp", alone = false },
  -- -- { name = "intelephense", alone = false },
}

local alones = {}
local servers = {}
local installServers = {}

for _, ele in pairs(lsp_server_list) do
  table.insert(installServers, ele.name)
  table.insert(servers, ele.name)
  -- if ele.alone then
  --   -- tsserver
  --   table.insert(alones, ele.name)
  -- else
  --   table.insert(servers, ele.name)
  -- end
end


return {
  alones = alones,
  servers = servers,
  installServers = installServers
}
